<html>
<head><meta charset="utf-8"><title>meeting 2020-11-03 · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html">meeting 2020-11-03</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="215508433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215508433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215508433">(Nov 03 2020 at 20:50)</a>:</h4>
<p>Hi <span class="user-group-mention" data-user-group-id="692">@WG-traits</span></p>



<a name="215508446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215508446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215508446">(Nov 03 2020 at 20:50)</a>:</h4>
<p>10 minutes until meeting</p>



<a name="215508457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215508457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215508457">(Nov 03 2020 at 20:50)</a>:</h4>
<p>not entirely sure what we'll talk about today</p>



<a name="215509382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509382">(Nov 03 2020 at 21:00)</a>:</h4>
<p>Alright <span class="user-group-mention" data-user-group-id="692">@WG-traits</span> , meeting time</p>



<a name="215509435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509435">(Nov 03 2020 at 21:01)</a>:</h4>
<p>So, for anyone who didn't see or couldn't join: we had a call on Friday to discuss the type library</p>



<a name="215509492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509492">(Nov 03 2020 at 21:01)</a>:</h4>
<p>Ah yeah that reminds me, did I post the video?</p>



<a name="215509496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509496">(Nov 03 2020 at 21:01)</a>:</h4>
<p>Presumably not</p>



<a name="215509503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509503">(Nov 03 2020 at 21:01)</a>:</h4>
<p>nope</p>



<a name="215509581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509581">(Nov 03 2020 at 21:02)</a>:</h4>
<p>I propose we make that the focus of the next sprint. Which, if we start today, would end Dec. 15</p>



<a name="215509594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509594">(Nov 03 2020 at 21:02)</a>:</h4>
<p>That seems correct</p>



<a name="215509599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509599">(Nov 03 2020 at 21:02)</a>:</h4>
<p>Which would be a good place to start for the holidays</p>



<a name="215509609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509609">(Nov 03 2020 at 21:02)</a>:</h4>
<p>and we did wind up with a <em>fairly</em> concrete-ish set of tasks</p>



<a name="215509620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509620">(Nov 03 2020 at 21:02)</a>:</h4>
<p>Yes</p>



<a name="215509640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509640">(Nov 03 2020 at 21:02)</a>:</h4>
<p>hackmd link:<a href="https://hackmd.io/vSz1MfmBSDSx5NkowiIUfQ">https://hackmd.io/vSz1MfmBSDSx5NkowiIUfQ</a></p>



<a name="215509702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509702">(Nov 03 2020 at 21:03)</a>:</h4>
<p>We already have a couple PRs up</p>



<a name="215509734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509734">(Nov 03 2020 at 21:03)</a>:</h4>
<p>nice</p>



<a name="215509774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509774">(Nov 03 2020 at 21:03)</a>:</h4>
<p><a href="https://github.com/rust-lang/chalk/issues/644">chalk#644</a> and <a href="https://github.com/rust-lang/chalk/issues/645">chalk#645</a>/chalk#646 notably</p>



<a name="215509837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509837">(Nov 03 2020 at 21:04)</a>:</h4>
<p>in addition to <a href="https://github.com/rust-lang/chalk/issues/639">chalk#639</a>, which was up before Friday</p>



<a name="215509946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509946">(Nov 03 2020 at 21:05)</a>:</h4>
<p>One thing to point out, if anyone has any strong opinions on <a href="#narrow/stream/144729-wg-traits/topic/type.20library.20discussion/near/215213725">https://rust-lang.zulipchat.com/#narrow/stream/144729-wg-traits/topic/type.20library.20discussion/near/215213725</a>, feel free to comment there</p>



<a name="215509993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215509993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215509993">(Nov 03 2020 at 21:05)</a>:</h4>
<p>Other than that, maybe if anyone has any annoucements?</p>



<a name="215510076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510076">(Nov 03 2020 at 21:06)</a>:</h4>
<p><a href="https://github.com/rust-lang/chalk/issues/644">chalk#644</a> is a bit tricky because we might be cloning in more places now</p>



<a name="215510085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510085">(Nov 03 2020 at 21:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215509581">said</a>:</p>
<blockquote>
<p>I propose we make that the focus of the next sprint. Which, if we start today, would end Dec. 15</p>
</blockquote>
<p>should we write a blog post about this or other such things?</p>



<a name="215510090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510090">(Nov 03 2020 at 21:06)</a>:</h4>
<p>For me, I got my rustc binder refactor work to a point where all bound variables in <code>Binder</code> are contiguous and don't skip any</p>



<a name="215510096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510096">(Nov 03 2020 at 21:06)</a>:</h4>
<p>and/or convert the hackmd into issues</p>



<a name="215510117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510117">(Nov 03 2020 at 21:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215510085">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215509581">said</a>:</p>
<blockquote>
<p>I propose we make that the focus of the next sprint. Which, if we start today, would end Dec. 15</p>
</blockquote>
<p>should we write a blog post about this or other such things?</p>
</blockquote>
<p>I was thinking maybe we just write a blog post at the end of this next sprint</p>



<a name="215510149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510149">(Nov 03 2020 at 21:07)</a>:</h4>
<p>Definitely issues for what there aren't already</p>



<a name="215510195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510195">(Nov 03 2020 at 21:07)</a>:</h4>
<p><span class="user-mention silent" data-user-id="125131">detrumi</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215510076">said</a>:</p>
<blockquote>
<p><a href="https://github.com/rust-lang/chalk/issues/644">chalk#644</a> is a bit tricky because we might be cloning in more places now</p>
</blockquote>
<p>Yeah, so I was thinking about that</p>



<a name="215510278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510278">(Nov 03 2020 at 21:08)</a>:</h4>
<p>And I think it's highlighting a potential flaw in <code>data()</code> calls</p>



<a name="215510316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510316">(Nov 03 2020 at 21:08)</a>:</h4>
<p>Right, calls like this:</p>
<div class="codehilite"><pre><span></span><code>self.data(folder.interner()).clone()
</code></pre></div>



<a name="215510326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510326">(Nov 03 2020 at 21:09)</a>:</h4>
<p>In that the reference have a lifetime of the self, rather than of the interner</p>



<a name="215510353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510353">(Nov 03 2020 at 21:09)</a>:</h4>
<p>(for ProgramClause in this case)</p>



<a name="215510377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510377">(Nov 03 2020 at 21:09)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215510326">said</a>:</p>
<blockquote>
<p>In that the reference have a lifetime of the self, rather than of the interner</p>
</blockquote>
<p>well</p>



<a name="215510380"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510380" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510380">(Nov 03 2020 at 21:09)</a>:</h4>
<p>that is by design</p>



<a name="215510389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510389">(Nov 03 2020 at 21:09)</a>:</h4>
<p>though maybe a problem :)</p>



<a name="215510396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510396">(Nov 03 2020 at 21:09)</a>:</h4>
<p>Right</p>



<a name="215510438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510438">(Nov 03 2020 at 21:10)</a>:</h4>
<p>Which, kind of also was brought up for rustc's <code>GenericArg</code></p>



<a name="215510507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510507">(Nov 03 2020 at 21:10)</a>:</h4>
<p>I would expect more cloning as part of the change to make <code>Fold</code> be "by-value"</p>



<a name="215510520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510520">(Nov 03 2020 at 21:10)</a>:</h4>
<p>Most of the time the values are Copy</p>



<a name="215510534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510534">(Nov 03 2020 at 21:10)</a>:</h4>
<p>This is partly why I was saying that it might be worth <em>requiring</em> values to be Copy</p>



<a name="215510563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510563">(Nov 03 2020 at 21:11)</a>:</h4>
<p>I can't 100% remember the exact  issue, but it was based on the fact that <code>data()</code> functions return a reference</p>



<a name="215510565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510565">(Nov 03 2020 at 21:11)</a>:</h4>
<p>even though it'd be limiting for our testing harness, which would then be forced to use an interning scheme of some kind</p>



<a name="215510574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510574">(Nov 03 2020 at 21:11)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215510563">said</a>:</p>
<blockquote>
<p>I can't 100% remember the exact  issue, but it was based on the fact that <code>data()</code> functions return a reference</p>
</blockquote>
<p>I remember</p>



<a name="215510582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510582">(Nov 03 2020 at 21:11)</a>:</h4>
<p>the problem here is a classic and annoying Rust one</p>



<a name="215510604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510604">(Nov 03 2020 at 21:11)</a>:</h4>
<p>if you have a signature <code>fn(&amp;self) -&gt; &amp;Data</code>, you <em>must</em> return a reference to <code>Data</code> that is owned by <code>self</code> (well, or <code>static</code>)</p>



<a name="215510610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510610">(Nov 03 2020 at 21:11)</a>:</h4>
<p>you can't <em>synthesize</em> a fresh value</p>



<a name="215510614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510614">(Nov 03 2020 at 21:11)</a>:</h4>
<p>Or maybe cheat and just clone for the testing harness</p>



<a name="215510648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510648">(Nov 03 2020 at 21:12)</a>:</h4>
<p>we can certainly just add clones that will generally be optimized away</p>



<a name="215510684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510684">(Nov 03 2020 at 21:12)</a>:</h4>
<p>it's just less ergonomic to write the code and probably longer compilation times</p>



<a name="215510691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510691">(Nov 03 2020 at 21:12)</a>:</h4>
<p>though who knows by how much</p>



<a name="215510708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510708">(Nov 03 2020 at 21:12)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215510610">said</a>:</p>
<blockquote>
<p>you can't <em>synthesize</em> a fresh value</p>
</blockquote>
<p>in particular this doesn't work well with the "tagged pointer" style</p>



<a name="215510718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510718">(Nov 03 2020 at 21:12)</a>:</h4>
<p>which wants to generate a "fresh" value</p>



<a name="215510733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510733">(Nov 03 2020 at 21:12)</a>:</h4>
<p>we could certainly change <code>GenericArg</code> in particular to return by value etc</p>



<a name="215510775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510775">(Nov 03 2020 at 21:13)</a>:</h4>
<p>yeah, that was it</p>



<a name="215510790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510790">(Nov 03 2020 at 21:13)</a>:</h4>
<p>I guess I'm not overly worried about the clones in <a href="https://github.com/rust-lang/chalk/pull/644">https://github.com/rust-lang/chalk/pull/644</a>, but I do think it's going to be push us (and rust-analyzer) towards <br>
 more use of <code>Copy</code></p>



<a name="215510808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510808">(Nov 03 2020 at 21:13)</a>:</h4>
<p>rust-analyzer will probably require some improved interning mechanism, I haven't looked closely into that</p>



<a name="215510826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510826">(Nov 03 2020 at 21:14)</a>:</h4>
<p>Well, I feel like some of the clones don't need to be there</p>



<a name="215510872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510872">(Nov 03 2020 at 21:14)</a>:</h4>
<p>or...I guess it's a flaw in the design</p>



<a name="215510881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510881">(Nov 03 2020 at 21:14)</a>:</h4>
<p>That the <code>TyData</code> is getting cloned</p>



<a name="215510883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510883">(Nov 03 2020 at 21:14)</a>:</h4>
<p>instead of <code>Ty</code></p>



<a name="215510915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510915">(Nov 03 2020 at 21:14)</a>:</h4>
<p>The latter will essentially be free for interned types</p>



<a name="215510927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510927">(Nov 03 2020 at 21:14)</a>:</h4>
<p>the former though idk</p>



<a name="215510958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510958">(Nov 03 2020 at 21:15)</a>:</h4>
<p>where is <code>TyData</code> being cloned</p>



<a name="215510974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215510974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215510974">(Nov 03 2020 at 21:15)</a>:</h4>
<p>let me look</p>



<a name="215511016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511016">(Nov 03 2020 at 21:15)</a>:</h4>
<p><a href="https://github.com/rust-lang/chalk/pull/644/files#diff-dff175ffd78d7636e8e02e183ee3d12519510907b0f5f2d1bd0c314e775984d4R334">https://github.com/rust-lang/chalk/pull/644/files#diff-dff175ffd78d7636e8e02e183ee3d12519510907b0f5f2d1bd0c314e775984d4R334</a></p>



<a name="215511087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511087">(Nov 03 2020 at 21:16)</a>:</h4>
<p>beat me</p>



<a name="215511125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511125">(Nov 03 2020 at 21:16)</a>:</h4>
<p>plus I really think we should remove this impl: <a href="https://github.com/rust-lang/chalk/pull/644/files#diff-dff175ffd78d7636e8e02e183ee3d12519510907b0f5f2d1bd0c314e775984d4R12">https://github.com/rust-lang/chalk/pull/644/files#diff-dff175ffd78d7636e8e02e183ee3d12519510907b0f5f2d1bd0c314e775984d4R12</a></p>



<a name="215511146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511146">(Nov 03 2020 at 21:17)</a>:</h4>
<p>since I think it's hiding basically a ton of clones</p>



<a name="215511149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511149">(Nov 03 2020 at 21:17)</a>:</h4>
<p>Could maybe be avoided by pushing the <code>.data()</code> call deeper down</p>



<a name="215511289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511289">(Nov 03 2020 at 21:18)</a>:</h4>
<p>potentially</p>



<a name="215511315"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511315" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511315">(Nov 03 2020 at 21:18)</a>:</h4>
<p>hmm</p>



<a name="215511325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511325">(Nov 03 2020 at 21:18)</a>:</h4>
<p><span class="user-mention silent" data-user-id="125131">detrumi</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215511016">said</a>:</p>
<blockquote>
<p><a href="https://github.com/rust-lang/chalk/pull/644/files#diff-dff175ffd78d7636e8e02e183ee3d12519510907b0f5f2d1bd0c314e775984d4R334">https://github.com/rust-lang/chalk/pull/644/files#diff-dff175ffd78d7636e8e02e183ee3d12519510907b0f5f2d1bd0c314e775984d4R334</a></p>
</blockquote>
<p>so wait</p>



<a name="215511328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511328">(Nov 03 2020 at 21:18)</a>:</h4>
<p>The reference impl for fold looked hard to remove though</p>



<a name="215511339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511339">(Nov 03 2020 at 21:19)</a>:</h4>
<p>that is <code>ProgramClause</code></p>



<a name="215511345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511345">(Nov 03 2020 at 21:19)</a>:</h4>
<p>ok ok</p>



<a name="215511347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511347">(Nov 03 2020 at 21:19)</a>:</h4>
<p>I see</p>



<a name="215511357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511357">(Nov 03 2020 at 21:19)</a>:</h4>
<p>it's just kind of "the general pattern" that is the problem</p>



<a name="215511383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511383">(Nov 03 2020 at 21:19)</a>:</h4>
<p>not specifically <code>TyData</code></p>



<a name="215511387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511387">(Nov 03 2020 at 21:19)</a>:</h4>
<p>yeah</p>



<a name="215511405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511405">(Nov 03 2020 at 21:19)</a>:</h4>
<p>yeah so.. hmm...</p>



<a name="215511424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511424">(Nov 03 2020 at 21:20)</a>:</h4>
<p>I think partly what is going on here</p>



<a name="215511480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511480">(Nov 03 2020 at 21:20)</a>:</h4>
<p>is a desire to leverage (and rightly so...) the <code>derive</code> logic</p>



<a name="215511613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511613">(Nov 03 2020 at 21:21)</a>:</h4>
<p>how so</p>



<a name="215511699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511699">(Nov 03 2020 at 21:22)</a>:</h4>
<p>I guess I need to browse the source better</p>



<a name="215511742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511742">(Nov 03 2020 at 21:22)</a>:</h4>
<p>Yeah, I haven't put deep thought into if this is <em>actually</em> a problem we want to try to avoid</p>



<a name="215511745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511745">(Nov 03 2020 at 21:22)</a>:</h4>
<p>but what I was refrring to was</p>



<a name="215511759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511759">(Nov 03 2020 at 21:22)</a>:</h4>
<p>the <a href="https://github.com/rust-lang/chalk/blob/9fb4a13f23dfbd1f781fd1f71d778e86c3cace19/chalk-ir/src/fold.rs#L394-L408">way that we handle <code>Ty&lt;I&gt;</code></a> doesnt' have this problem</p>



<a name="215511764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511764">(Nov 03 2020 at 21:22)</a>:</h4>
<p>and if so, what the potential solutions are</p>



<a name="215511788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511788">(Nov 03 2020 at 21:23)</a>:</h4>
<p>what we do there is to implement <code>SuperFoldWith</code> on <code>Ty&lt;I&gt;</code> and then we hand-write the match -- this is because we want to delegate to specialized methods</p>



<a name="215511802"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511802" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511802">(Nov 03 2020 at 21:23)</a>:</h4>
<p>this is kind of annoying because it requires hand-writing the match :)</p>



<a name="215511820"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511820" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511820">(Nov 03 2020 at 21:23)</a>:</h4>
<p>but for <code>ProgramClause</code> I was happy not to have to do that</p>



<a name="215511841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511841">(Nov 03 2020 at 21:23)</a>:</h4>
<p>note that I think <code>Fold</code> is not even <em>implemented</em> for <code>TyData</code></p>



<a name="215511848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511848">(Nov 03 2020 at 21:23)</a>:</h4>
<p>Ah, I see</p>



<a name="215511859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511859">(Nov 03 2020 at 21:23)</a>:</h4>
<p>because that is kind of <em>wrong</em></p>



<a name="215511920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511920">(Nov 03 2020 at 21:24)</a>:</h4>
<p>I think this would maybe ideally be how other interned things work too</p>



<a name="215511944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511944">(Nov 03 2020 at 21:24)</a>:</h4>
<p>it makes me wonder if (egads) we want a secondary fold trait-- FoldRef :P</p>



<a name="215511966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511966">(Nov 03 2020 at 21:24)</a>:</h4>
<p>or maybe this could be how <code>superFoldWith</code> works or somethig, probably no</p>



<a name="215511982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511982">(Nov 03 2020 at 21:24)</a>:</h4>
<p>I think we only derive <code>SuperFoldWith</code> for a limited set of types..</p>



<a name="215511997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215511997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215511997">(Nov 03 2020 at 21:24)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202020-11-03/near/215511944">said</a>:</p>
<blockquote>
<p>it makes me wonder if (egads) we want a secondary fold trait-- FoldRef :P</p>
</blockquote>
<p>not fold ref -- fold interned or something</p>



<a name="215512013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512013">(Nov 03 2020 at 21:24)</a>:</h4>
<p>kind of horrible but it is sort of a distinct operation in some sense</p>



<a name="215512020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512020">(Nov 03 2020 at 21:25)</a>:</h4>
<p>Also, to give an example of where an implicit clone is happening with that impl we saw before: <a href="https://github.com/rust-lang/chalk/blob/9fb4a13f23dfbd1f781fd1f71d778e86c3cace19/chalk-ir/src/fold.rs#L425">https://github.com/rust-lang/chalk/blob/9fb4a13f23dfbd1f781fd1f71d778e86c3cace19/chalk-ir/src/fold.rs#L425</a></p>



<a name="215512029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512029">(Nov 03 2020 at 21:25)</a>:</h4>
<p>really the ideal signature would be something like</p>



<a name="215512042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512042">(Nov 03 2020 at 21:25)</a>:</h4>
<p><code>fn(Ty&lt;I&gt;, &amp;TyData&lt;I&gt;) -&gt; Ty&lt;I&gt;</code></p>



<a name="215512065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512065">(Nov 03 2020 at 21:25)</a>:</h4>
<p>i.e., we would not return an "un-interned" result</p>



<a name="215512086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512086">(Nov 03 2020 at 21:25)</a>:</h4>
<p>(I took in the interned result because it might be a micro-optimization to be able to re-use it)</p>



<a name="215512105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512105">(Nov 03 2020 at 21:25)</a>:</h4>
<p>hmm</p>



<a name="215512161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512161">(Nov 03 2020 at 21:26)</a>:</h4>
<p>(though I'm not sure how realistic that is)</p>



<a name="215512198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512198">(Nov 03 2020 at 21:26)</a>:</h4>
<p>(it's hard to tell when you can just re-use, I think? I guess you can compare for equality)</p>



<a name="215512236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthew Jasper <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512236">(Nov 03 2020 at 21:27)</a>:</h4>
<p>although that needs a fast equality method</p>



<a name="215512248"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512248" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512248">(Nov 03 2020 at 21:27)</a>:</h4>
<p>yeah it's not obviously a win</p>



<a name="215512255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512255">(Nov 03 2020 at 21:27)</a>:</h4>
<p>might be sometimes, might not</p>



<a name="215512313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512313">(Nov 03 2020 at 21:27)</a>:</h4>
<p>Feels similar to <code>Cow</code></p>



<a name="215512383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512383">(Nov 03 2020 at 21:28)</a>:</h4>
<p>oh goodness</p>



<a name="215512398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512398">(Nov 03 2020 at 21:28)</a>:</h4>
<p>I'm not sure I see the comparison to <code>Cow</code> but no matter</p>



<a name="215512435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512435">(Nov 03 2020 at 21:29)</a>:</h4>
<p>Alright so, I guess for <code>ProgramClause</code>, the solution is to instead match in that function instead of having <code>Fold</code> on <code>ProgramClauseData</code></p>



<a name="215512446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512446">(Nov 03 2020 at 21:29)</a>:</h4>
<p>I guess I should look/think more closely in general</p>



<a name="215512500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512500">(Nov 03 2020 at 21:29)</a>:</h4>
<p>yeah so if we adopted the thing I'm vaguely proposing</p>



<a name="215512566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512566">(Nov 03 2020 at 21:30)</a>:</h4>
<p><code>ProgramClause</code> would look like</p>



<a name="215512625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512625">(Nov 03 2020 at 21:30)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">fn</span> <span class="nf">fold</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="w"> </span>-&gt; <span class="nc">ProgramClause</span><span class="o">&lt;</span><span class="n">I</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">me</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">clone</span><span class="p">();</span><span class="w"></span>
<span class="w">    </span><span class="bp">self</span><span class="p">.</span><span class="n">data</span><span class="p">().</span><span class="n">fold_interned</span><span class="p">(</span><span class="n">me</span><span class="p">)</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="215512652"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512652" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512652">(Nov 03 2020 at 21:31)</a>:</h4>
<p>and we would have <code>#[derive(FoldInterned)]</code> on <code>ProgramClauseData</code> or whatever</p>



<a name="215512664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512664">(Nov 03 2020 at 21:31)</a>:</h4>
<p>which would be a perhaps a bit tricky to write :)</p>



<a name="215512683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512683">(Nov 03 2020 at 21:31)</a>:</h4>
<p>because it might have to be informed of things like the "interned" form</p>



<a name="215512692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512692">(Nov 03 2020 at 21:31)</a>:</h4>
<p>I guess we can use attributes for that</p>



<a name="215512700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512700">(Nov 03 2020 at 21:31)</a>:</h4>
<p>I feel like that just moves us further from rustc :/</p>



<a name="215512710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512710">(Nov 03 2020 at 21:31)</a>:</h4>
<p>well</p>



<a name="215512714"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512714" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512714">(Nov 03 2020 at 21:31)</a>:</h4>
<p>rustc would eventually adopt this samestructure presumably</p>



<a name="215512723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512723">(Nov 03 2020 at 21:32)</a>:</h4>
<p>it's kind of an "implementation detail"</p>



<a name="215512761"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512761" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512761">(Nov 03 2020 at 21:32)</a>:</h4>
<p>hmm</p>



<a name="215512767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512767">(Nov 03 2020 at 21:32)</a>:</h4>
<p>i.e., nobody would invoke <code>fold_interned</code> except for <code>fold</code> impls</p>



<a name="215512775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512775">(Nov 03 2020 at 21:32)</a>:</h4>
<p>the only reason for it though is to avoid boilerplate</p>



<a name="215512786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512786">(Nov 03 2020 at 21:32)</a>:</h4>
<p>arguably not worth it</p>



<a name="215512819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512819">(Nov 03 2020 at 21:33)</a>:</h4>
<p>Just for <code>derive</code>, I don't think so</p>



<a name="215512849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512849">(Nov 03 2020 at 21:33)</a>:</h4>
<p>Of the interned types, most don't derive Foldable</p>



<a name="215512877"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512877" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512877">(Nov 03 2020 at 21:33)</a>:</h4>
<p>ok then never mind ignore me :P</p>



<a name="215512881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512881">(Nov 03 2020 at 21:33)</a>:</h4>
<p>just inline it and be done</p>



<a name="215512938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512938">(Nov 03 2020 at 21:34)</a>:</h4>
<p>could be a fixme too I guess</p>



<a name="215512948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512948">(Nov 03 2020 at 21:34)</a>:</h4>
<p>potentially, yeah</p>



<a name="215512977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512977">(Nov 03 2020 at 21:34)</a>:</h4>
<p>i didn't expect to spend half an hour discussing the cloning</p>



<a name="215512988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215512988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215512988">(Nov 03 2020 at 21:34)</a>:</h4>
<p>was there something else to talk about?</p>



<a name="215513003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513003">(Nov 03 2020 at 21:35)</a>:</h4>
<p>I don't think so</p>



<a name="215513019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513019">(Nov 03 2020 at 21:35)</a>:</h4>
<p>lol well we could use the time to do a bit of reviewing etc</p>



<a name="215513020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513020">(Nov 03 2020 at 21:35)</a>:</h4>
<p>or I could anyway</p>



<a name="215513027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513027">(Nov 03 2020 at 21:35)</a>:</h4>
<p>We can potentially end early if nobody has anything to discuss (and give Niko time to review)</p>



<a name="215513031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513031">(Nov 03 2020 at 21:35)</a>:</h4>
<p>beat me</p>



<a name="215513050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513050">(Nov 03 2020 at 21:35)</a>:</h4>
<p>I'm not really going to have time the next 2 weeks for non-trivial reviews, just fyi</p>



<a name="215513055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513055">(Nov 03 2020 at 21:35)</a>:</h4>
<p>fwiw I think the cloning was worth talking out, I think that the boilerplate pain is real :)</p>



<a name="215513111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513111">(Nov 03 2020 at 21:36)</a>:</h4>
<p>100% worth discussing</p>



<a name="215513112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513112">(Nov 03 2020 at 21:36)</a>:</h4>
<p>though maybe as things have settled down some</p>



<a name="215513115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513115">(Nov 03 2020 at 21:36)</a>:</h4>
<p>it's less of a pain</p>



<a name="215513128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513128">(Nov 03 2020 at 21:36)</a>:</h4>
<p>I've just spent too many hours of my life manually writing these sorts of impls</p>



<a name="215513247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513247">(Nov 03 2020 at 21:37)</a>:</h4>
<p>Anyways, so if nobody has anything else to discuss, we can end early</p>



<a name="215513302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513302">(Nov 03 2020 at 21:38)</a>:</h4>
<p>The only other thing that comes to mind to <em>maybe</em> discuss sometime is the skill tree</p>



<a name="215513355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513355">(Nov 03 2020 at 21:38)</a>:</h4>
<p>But I imagine that's mostly just someone going to be updating it to the current state of things</p>



<a name="215513361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513361">(Nov 03 2020 at 21:39)</a>:</h4>
<p>versus something that needs a bunch of discussion</p>



<a name="215513764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215513764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215513764">(Nov 03 2020 at 21:44)</a>:</h4>
<p>Right, we <a href="https://rust-lang.github.io/wg-traits/roadmap/skill-tree.html">crossed off</a> quite a lot, so someone can just open a PR (<a href="https://github.com/rust-lang/wg-traits/blob/master/roadmap.toml">source</a>)</p>



<a name="215550171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215550171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Laurențiu <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215550171">(Nov 04 2020 at 07:58)</a>:</h4>
<p>Sorry I missed the meeting last night. I still have to grok the <code>ProgramClause</code> thing (I'm not really familiar with the code). Do you think we can clone in the <code>Fold&lt;I, TI&gt; for &amp;'a T</code> impl to avoid having the PR bitrot, then clean things up later?</p>



<a name="215649250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215649250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215649250">(Nov 04 2020 at 22:28)</a>:</h4>
<p>I would be ok with landing the PR with extra clones</p>



<a name="215651457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202020-11-03/near/215651457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202020-11-03.html#215651457">(Nov 04 2020 at 22:53)</a>:</h4>
<p>agreed</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>